home *** CD-ROM | disk | FTP | other *** search
- /*************************************************************************
- * File control libraray
- *************************************************************************/
-
- #ifndef _SIFCM_H
- #define _SIFCM_H
-
- #ifndef _SITYPES_H
- # include <sitypes.h>
- #endif
-
- /*----------------------------------------------------------------------*/
- #define FCMDRV_MAX (26)
- #define FCMNAME_MAX (15)
- #define FCMDNAM_MAX (255)
-
- /*----------------------------------------------------------------------*/
- typedef struct _fcmfi_t /* ファイル情報構造体 */
- {
- struct _fcmfi_t *next;
- unsigned int att; /* 属性 */
- unsigned short time, date; /* 日付/時刻 */
- long siz; /* ファイルサイズ */
- char name[(FCMNAME_MAX+3) & (~3)];
- } FCMFI_T;
-
-
- /*----------------------------------------------------------------------*/
- typedef struct _fcmdir_t /* ディレクトリ構造体 */
- {
- struct _fcmdir_t *next;
- struct _fcmdir_t *parent, *child;
-
- char name[ (FCMDNAM_MAX + 3) & (~3) ];
- /* ディレクトリ名 */
- unsigned int att;
- unsigned int stt;
- void *fcmDrv;
-
- int numFi; /* ファイル総数 */
- int numFile; /* ファイル数 */
- int numDir; /* ディレクトリ数 */
- FCMFI_T *fiTop; /* ディレクトリ内のファイル */
- } FCMDIR_T;
-
- /*----------------------------------------------------------------------*/
- #define FCMDIR_HASH_MAX (32)
-
- typedef struct /* ドライブデータ構造体 */
- {
- int drv; /* ドライブ番号 */
- int typ; /* ドライブ種別("FCM/drvtyp.h") */
- unsigned int att;
- unsigned int stt;
-
- FCMDIR_T *dirHash[FCMDIR_HASH_MAX];
- } FCMDRV_T;
-
- #define FCMDRV_STT_RESET (0x0000_0001) /* 再読み込みの必要あり */
- #define FCMDRV_STT_ERR (0x1000_0000) /* エラー */
-
- /*----------------------------------------------------------------------*/
- typedef struct /* ファイルコントロール構造体 */
- {
- int numDrv; /* 使用可能なドライブ数 */
- FCMDRV_T fcmDrv[FCMDRV_MAX];
- } FCMCTRL_T;
-
- extern FCMCTRL_T *SiFcmCt;
-
- #endif
-